package io.datajek.springbasics.movierecommendersystem.lesson7;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import java.util.Arrays;
@SpringBootApplication
public class MovieRecommenderSystemApplication {
    public static void main(String[] args) {
        //ApplicationContext负责管理Bean和依赖关系。
        ApplicationContext appContext = SpringApplication.run(MovieRecommenderSystemApplication.class, args);
        //RecommenderImplementation使用构造函数注入依赖关系
        System.out.println("\n************************************************");
        System.out.println("Calling getBean() on RecommenderImplementation");

        //使用ApplicationContext 来查找正在使用的过滤器
        RecommenderImplementation recommender = appContext.getBean(RecommenderImplementation.class);
        //调用方法来获得推荐

        String[] result = recommender.recommendMovies("Finding Dory");
        //显示结果
        System.out.println(Arrays.toString(result));
        //RecommenderImplementation2使用setter方法注入依赖关系
        System.out.println("\n************************************************");
        System.out.println("Calling getBean() on RecommenderImplementation2");

        //使用ApplicationContext 来查找正在使用的过滤器
        RecommenderImplementation2 recommender2 = appContext.getBean(RecommenderImplementation2.class);
        //调用方法来获得推荐

         result = recommender.recommendMovies("Finding Dory");
         System.out.println(Arrays.toString(result));


    }
}
